package br.gov.sedurb.ws.client;


import br.gov.se.seplag.RequestFixo;
import br.gov.se.seplag.docsprocsnecessariosatendimento.DocsProcsNecessariosAtendimento;
import br.gov.se.seplag.docsprocsnecessariosatendimento.DocsProcsNecessariosAtendimento_Service;
import br.gov.se.seplag.docsprocsnecessariosatendimento.ErroInfoMessage;
import br.gov.se.seplag.docsprocsnecessariosatendimento.ParametroListarPorTipoAtendimento;
import br.gov.se.seplag.docsprocsnecessariosatendimento.ResultadoListarPorTipoAtendimento;

import br.gov.sedurb.util.JSFUtils;

import javax.xml.ws.WebServiceRef;

// !THE CHANGES MADE TO THIS FILE WILL BE DESTROYED IF REGENERATED!
// This source file is generated by Oracle tools
// Contents may be subject to change
// For reporting problems, use the following
// Version = Oracle WebServices (11.1.1.0.0, build 130224.1947.04102)

public class DocsProcsNecessariosAtendimentoSOAPClient extends WSClient<DocsProcsNecessariosAtendimento> {
    @WebServiceRef
    private DocsProcsNecessariosAtendimento_Service docsProcsNecessariosAtendimento_Service;
    private static DocsProcsNecessariosAtendimentoSOAPClient obj;

    public static DocsProcsNecessariosAtendimentoSOAPClient getInstance() {
        if (obj == null) {
            obj = new DocsProcsNecessariosAtendimentoSOAPClient();
        }

        return obj;
    }

    private DocsProcsNecessariosAtendimentoSOAPClient() {
        super();
    }

    public ResultadoListarPorTipoAtendimento listarPorTipoAtendimento(String nomeServico) {

        ParametroListarPorTipoAtendimento parameters =
            new ParametroListarPorTipoAtendimento();
        parameters.setNomeServico(nomeServico);
        ResultadoListarPorTipoAtendimento lista = null;

        try {
            lista =
                    getPort().listarPorTipoAtendimento(parameters, RequestFixo.cabecalho());
        } catch (ErroInfoMessage e) {
            JSFUtils.addFacesErrorMessage("Erro ao tentar utilizar o serviço " + this.getClass().getSimpleName() + ":" + e.getMessage());
        } catch (Exception e) {
            JSFUtils.addFacesErrorMessage(erroGenerico(e));
        }
        
        return lista;
    }

    public DocsProcsNecessariosAtendimento criarPortType() {

        docsProcsNecessariosAtendimento_Service =
                new DocsProcsNecessariosAtendimento_Service();
        DocsProcsNecessariosAtendimento port =
            docsProcsNecessariosAtendimento_Service.getDocsProcsNecessariosAtendimentoSOAP();

        return port;
    }
}
